/**
 * WechatService.java created by zhangzhidong 
 * at 上午10:24:17 2016年8月2日
 */
package thirdpart.wechat.rmi;

import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.lab.jiang.Config;
import org.lab.jiang.WechatRecordAnalyzer;
import org.shirdrn.document.preprocessing.api.Term;


import util.ReflectionUtils;

/**
 * @author zhangzhidong<br>
 * comment generated at 2016年8月2日上午10:24:17<br>
 * 
 */
public class WechatService implements WechatInterface{
	WechatRecordAnalyzer wra = ReflectionUtils.newInstance(Config.DocumentAnalyzerClass,WechatRecordAnalyzer.class);
	
	private static Pattern []  patterns =  null;
	{
		 patterns = new Pattern[rule.length];
		 for(int i = 0;i<patterns.length;i++){
			  patterns[i] = Pattern.compile(rule[i]);//创建 Pattern 对象
		  }
	}
	/**
	 * @Param
	 * @Author zhangzhidong
	 */
	
	public Map<String, Term> segment(String document) {
		// TODO Auto-generated method stub
	   Map<String, Term> map = wra.getWordMap(document);
	   return map;
	}

	/**
	 * @Param
	 * @Author zhangzhidong
	 */
	
	public String filterNoise(String content) {
		// TODO Auto-generated method stub
		
		return deleteNoise(content);
	}
	
	/**
	 * 返回过滤后的文本
	 */	
	  public String deleteNoise(String contentString){
		  String sentences="";
		  try{
				String [] parts = contentString.split("。");
				//System.out.println(parts.length);
				Matcher  m = null;
				for(int j = 0;j<parts.length;j++){//文本
					boolean flag=false;
					parts[j] = parts[j].replace("。", "");
					if(parts[j].length()>0){
						for(int i = 0;i<patterns.length;i++){//模式
							m =patterns[i].matcher(parts[j]);
							if(m.find()){
								 flag=true;
								 break;
							}
						}
						if(flag==false){
							sentences=sentences+"。"+parts[j];
						}
					}else{
						continue;
					}
				}
			}catch(Exception e){
				e.printStackTrace();
			}
		return sentences;
		  
	  }
	  public final static String rule[] = new String[]{
			    "点击?[上|下|左|右]?[方|面]?(.*)?(可以)?(免费)?订[阅|购]",
			    "免费订阅我们",
			    "欢迎订阅",
			    "官方订阅号",
			    "长按[上|下|左|右]图.{1,}识别图中二维码",
			    "二维码扫描",
			    "(长按|扫描关注|扫|扫描|关注)[上|下|左|右]?[方|面]?二维码",
			    "微信扫一扫[上|下|左|右][方|面]的?[\"|“|‘](.*)?[\"|”|’]二维码",
			    "(长按|点击)([上|下|左|右]侧)?(图片|二维码)并?(识别)?",
			    "(长按|点击)([上|下|左|右]侧)?并?(识别)?.*(二维码)(关注)?",
			    "长按(指纹|二维码)[,|，]?(点选|选择)[(|（|\"|“|‘]识别图中二维码[)|）\"|”|’]",
			    "将二维码保存在手机，打开“扫一扫”，右上角“相册”，打开选取刚刚保存的二维码照片即可",
			    "长按(图片|识别|图中|下方|以上微信号可)?(二维码|复制)(关注)?",
			    "微信号保存二维码\\s+扫一扫关注公众号",
			    "欢迎扫描二维码.*订阅号",
			    "扫描手机银行二维码",
			    "公众号(.*)?关注",
			    "微信账?号[：|:|\\s+]?[0-9]+",
			    "微信号/QQ号[：|:]?[0-9]+",
			    "微信平台预约[：|:](.*)?",
			    "关于?注?[a-zA-Z0-9]+公众微信号",
			    "关注微信(公共)?(平台)?[：|:](.*)?微信号是?[：|:](.*)?QQ号是?[：|:]?[0-9]+",
			    "微信号[：|:]\\s*[a-zA-Z0-9_]+公众号ID[：|:]\\s*[a-zA-Z0-9]+",
			    "(加|认证)?(公[众|眾])?微信(公[众|眾])?[號|号]?[：|:]?(\\s*)?[\\(|\\（]?[a-zA-Z0-9]+[\\)|\\）]?",
			    "请加.*微信.*",
			    "此微信(已经)?改变了?",
			    "热门微信(公共)?账?号?推荐",
			    "(今天)?(小编)?给?大家推荐.*(微信公众号)+",
			    "有人用微信聊天.*学习.*成长",
			    "(推荐.*|加.*)(微|薇|V)信",
			    "请?(一键|免费)?关注.*(微信号|公众号)",
			    "(推广合作联系|课程咨询|(特别)?提醒|活动咨询电话|联系(人|方式)|媒体支持|推广请联系微信私号|微信搜索ID\\s|公众号)(:|：)",
			    "(关注|查找)?(小编)?(QQ|微信|公众账)号?[：|:|,|，]",
			    "(长按|识别|扫一扫).*关注.*(订阅|公众)号",
			    "关注微信(公共)?(平台)?[：|:][a-zA-Z0-9]+",
			    "关注[a-zA-Z0-9]+公众微信号",
			    "微信搜索ID☞[：|:]",
			    "一起关注@",
			    "[歡|欢]迎[订|訂][閱|阅][關|关]注",
			    "请点击最[下|上]方[\"|“]关注[\"|”]",
			    "(加我关注就对了|请关注我[吧|呢])",
			    "(赶紧|抓紧|赶快|速度)*关注我",
			    "(如果)?喜欢[就]?关注我们吧",
			    "点击[-]+阅读原文",
			    "(推荐|延伸|拓展)阅读[：|:]?",
			    "更多精彩(.*)?请?点击?(.*)? 阅读原文",
			    "[点|點|猛|戳][击|擊|戳]?开?[上|下|左|右|底]?[方|面|边|部]?(尾页|文末)?[\"|”|\\s+]?(阅读原文|閱讀原文)[\"|”|’]?",
			    "点击[上|下|左|右][方|面|边]的?[,|\\s+]?[\"|”|\\s+]?(阅读|查看)?原文(阅读|查看)?[\"|”|’]?",
			    "(点击)?[↙|▼|↑|↓| ↙ |【]+[上|下|左|右]?[方|面]?阅读原文[↙|▼|↑|↓| ↙ |】]?",
			    "猛戳阅读原文观看视频|更\\.多\\.内\\.容|免\\.费\\.订\\.阅",
			    "(点|猛)击?(本文|微信)?(左|右|最)?(上|下)?(角|方|面)?([【|(\\s+|“\")]?阅读(原|全)文[】|(\\s?”\")]?|.*关注|.*订阅)",
			    "点击[上|下]方.*(阅读|欣赏)[全|原]文",
			    "点击[上|下]方.*(了解|查看)更多",
			    "(赶紧|赶快)点击.*[\\[|【]?(阅读|欣赏)[全|原]文[\\]|】]?",
			    "点(击)?阅读原文.*马上参加",
			    "(左|右|最)?(上|下)?角[\"|“|‘|\"|”|\\s+]?阅读原文[\"|”|’|\"|“]?",
			    "(点击|戳)文末(.*)?阅读原文",
			    "公众号(.*)?关注",
			    "(完全)?免费.*请?放心关注",
			    "推荐您?关注[：|:]",
			    "关注[\"|“|‘](.*)?[\"|”|’]",
			    "更多精彩内容[,|，|\\s*]请关注[：|:][a-zA-Z0-9]+",
			    "点击(题目|标题)?[下|上]方?.*?关注(.*)(动态)?",
			    "温馨提示[：|:]长按微信号(.*)?复制后(.*)?粘贴(.*)?关注",
			    "(关注后)?回复.*(查(询|看)|免费(赠|获取))",
			    "(抓紧|赶快|速度)(.*)?关注(本平台|平台).*回复.*获取答案",
			    "感谢您关注",
			    "扫一扫(.*)?(关注)?",
			    "马上关注[:|：]?",
			    "欢迎关注",
			    "看完点击上方的蓝字.*找好玩视频",
			    "[點|点][击|擊]?(本文)?(标题)?[下|上][方|面].*?[藍|蓝]色?小?字体?(即可)?(快速)?[关|關]?注?",
			    "点击(本文)?(上|下|左|右|)?(方|面).*字体",
			    "网[址|站][：|:]?([\\w|-]+\\.?)+",
			    "官方网[址|站][：|:]?http://([\\w|-]+\\.?)+/",
			    "官方?网站?[：|:|（]?([\\w]+\\.?)+",
			    "咨询热线[：|:]?[0-9]+",
			    "QQ[：|:|\\s*]?[0-9]+",
			    "商家合作热线[：|:][0-9]+",
			    "联系人[：|:](.*)?联系电话[：|:][0-9-]+",
			    "定价.*团购.*购[书|买]?电话[：|:]?[0-9]+",
			    "联系电话[：|:][0-9]+咨询\\s*Q\\s*Q[：|:][0-9]+",
			    "购买(.*)?请?电话联系[：|:][0-9]+(.*)?(免费)?送货",
			    "联系(我们)?电话[：|:][0-9]+[,|，|\\s*]?QQ[：|:]\\s*[0-9]+",
			    "联系方式[：|:](.*)?[\\(|\\（]微信号[\\）|\\)][：|:][a-zA-Z0-9]+",
			    "联系方式[：|:](.*)?QQ[\\(|\\（]总群[\\)|\\）]?[：|:][a-zA-Z0-9]+",
			    "电话(咨询)?[：|:]?[0-9-]+[.]?\\s*手机(咨询)?[：|:]?[0-9-]+[.]?\\s*",
			    "【?活动时间】?[：|:].*?【?活动地点】?[：|:].*?【?微信报名】?[：|:]",
			    "回复(.*)?QQ群[：|:][0-9]+(.*)?投稿邮箱[：|:]\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*(版权说明)?",
			    "发?送?(电子)?(信箱|邮件)到?\\s*[：|:]?\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*",
			    "联系邮箱[：|:]\\d+@\\w+\\.\\w+",
			    "报名热线[:|：]",
			    "我们的邮箱是\\d+@\\w+\\.\\w+",
			    "(电话)?(：|:)\\d{7,11}|(热线|传真|电话)(：|:|\\s)\\d{3,4}-\\d{7,8}",
			    "(咨询|联系)电话[:|：]?[0-9]{8,12}",
			    "(QQ群|微信号|联系方式)(.*)?[：|:]?[a-zA-Z0-9]+",
			    "回复[\"|“|‘].*了解",
			    "回复【[0-9]+】[：|:]",
			    "[\\(|\\（]回复[\"|“|‘][0-9]+[\"|”|’][\\)|\\）]",
			    "(赶紧|抓紧|赶快|速度)*关注[我|本平台|平台].*回复.*获取答案",
			    "回复(.*)?(即可|了解|阅读)",
			    "关注[\"|“|‘](.*)?[\"|”|’]回复",
			    "分享转发以上账号(.*)?加入",
			    "点击?[上|下|左|右][方|面](.*)?(一键)?关注本?账号",
			    "热门平台推荐[：|:]",
			    "热门话题，点击查看",
			    "(记得)?点击[左|右]?[上|下]?角.*分享.*",
			    "点击?[上|下|左|右][方|面][↙|▼|↑|↓]+",
			    "请点击?[上|下|左|右]",
			    "点击原文(链接)?查看",
			    "(·)+广告(·)+",
			    "来源[：|:|\\s+]",
			    "来源丨",
			    "【(温馨提示|[0-9])】",
			    "(享受)?[优惠价[0-9]折|[0-9]折优惠价]",
			    "新浪(官微|微博)[：|:]?(.*)?关注",
			    "欢迎您?转载.*?分享到朋友圈.*?推荐(给您的)?朋友",
			    "请?(分享朋友圈|留言|.*发微信)|分享.*朋友圈",
			    "(本文内容|文章)来(源|自)于?网络[,|，]?(\\s*)?版权归原作者",
			    "发起.*活动[,|，]?.*通过.*形式.*发送给?小编.*[快来|快快]?参与",
			    "资讯和?优惠活动信息[：|:|,|，]?(\\s*)?详情请?咨询[：|:]?[0-9_]+",
			    "(复制|搜索)[\"|“|‘][a-zA-Z0-9_-]+[\"|”|’][,|，]?在[\"|“|‘]添加朋友[\"|”|’]中粘贴搜索号码关注",
			    "(.*)?乳此(.*)$",
			    "那就和[小|本]编(一起)?[来]?学[习]?.*?吧",
			    "以上是[小|本]?编(为大家)?挑选(.*)最火(.*)",
			    "别私(自保)?存",
			    "【\\w+】",
			    "[↓↑]{3,}",
			    "记得要升级\\d?\\.?\\d*",
			    "咨询.*客服",
			    "生活在.*爱上.*品牌",
			    "图文版权归原作者所有·如有侵权请联系删除|最火微信榜单|图文来源于网络，版权归原作者所有|想知道答案吗？给自己5分钟时间思考",
			    "感谢(您|你)的阅读.*喜欢.*的话.*点个大拇指",
			    "微话题.*",
			    "(小编送福利|点击)(.*)?100%有",
			    "中国整体衣柜.*财富之旅",
			    "每天都有分享",
			    "- (THE)? END -",
			    "查看往期精彩内容",
			    "文章推荐",
			    "发送[\"|“|‘](.*)?[\"|”|’]查看",
			    "↓精彩继续↓",
			    "喜欢此文请点赞↓",
			    "输入(.*)?可浏览",
			    "查看历史消息",
			    "往期回顾[：|:]?",
			    "(保留)?(活动最终解释|版)权(归.*所有)?",
			    "(欢迎|谢谢)[您|你]?的?(加入|参与)",
			    "[如|若]有侵权，请联系(.*)?删除",
			    "[图|本]?文?章?(.*)?[来|转][自|源](.*)?网络(.*)?如有侵权(.*)?(联系|通知)",
			    "[↓|↑|]{2,}",
	};



}
